<?php

namespace longhu\library\redis;

trait UnorderedSet
{
    /**
     * sMembers 返回集合中所有元素
     * @param $key
     * @return mixed
     */
    public function sMembers($key)
    {
        return $this->redis->sMembers($key);
    }

    /**
     * sDiff 求2个集合的差集
     * @param $key1
     * @param $key2
     * @return mixed
     */
    public function sDiff($key1,$key2)
    {
        return $this->redis->sDiff($key1,$key2);
    }

    /**
     * sAdd 添加集合。由于版本问题，扩展不支持批量添加。这里做了封装
     * @param $key
     * @param string|array $value
     */
    public function sAdd($key,$value)
    {
        if(!is_array($value))
            $arr = array($value);
        else
            $arr = $value;

        foreach($arr as $row)
            $this->redis->sAdd($key,$row);
    }

    /**
     * scard 返回无序集合的元素个数
     * Created by PhpStorm.
     * @param $key
     * @return mixed
     */
    public function scard($key)
    {
        return $this->redis->scard($key);
    }

    /**
     * srem 从集合中删除一个元素
     * @param $key
     * @param $value
     * @return mixed
     */
    public function srem($key,$value)
    {
        return $this->redis->srem($key,$value);
    }
}